page.tsx 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. "use client";
  2. import { getCheckUserPhoneExistApi } from "@/api/user";
  3. import ButtonOwn from "@/components/ButtonOwn";
  4. import DomainFooter from "@/components/DomainFooter";
  5. import HeaderBack from "@/components/HeaderBack";
  6. import { useRouter } from "@/i18n";
  7. import { Toast } from "antd-mobile";
  8. import { useTranslations } from "next-intl";
  9. import { FC, useState } from "react";
  10. import "./page.scss";
  11. interface Props {}
  12. const ResetPhone: FC<Props> = () => {
  13. const t = useTranslations("ResetPhonePage");
  14. const router: any = useRouter();
  15. let [userPhone, setUserPhone] = useState("");
  16. const changeUserPhone = (e: { target: { value: any } }) => {
  17. const value = e.target.value.replace(/[^0-9]/g, "");
  18. setUserPhone(value);
  19. };
  20. let [msgError, setMsgError] = useState("");
  21. const blurVerifyPhone = (e: { target: { value: any } }) => {
  22. const { value } = e.target;
  23. if (value == "") {
  24. setMsgError("");
  25. return;
  26. }
  27. if (value) {
  28. setMsgError(t("enterCorrectphone"));
  29. return;
  30. }
  31. setMsgError("");
  32. };
  33. const checkUserPhoneRequest = async () => {
  34. // if (!phoneRegex(userPhone)) return;
  35. let { code, msg, data } = await getCheckUserPhoneExistApi({ user_phone: userPhone });
  36. if (code == 200) {
  37. if (data) {
  38. router.push(`/verification?userPhone=${userPhone}`);
  39. return;
  40. } else {
  41. Toast.show(t("notPhone"));
  42. }
  43. setMsgError(msg);
  44. }
  45. };
  46. return (
  47. <div className="resetPhone-box">
  48. <HeaderBack />
  49. <div className="main">
  50. <div className="title">
  51. <h2>{t("h2")}</h2>
  52. <div>{t("h3")}</div>
  53. </div>
  54. <div className="phoneInput">
  55. <span className="after">{t("areaCode")}</span>
  56. <input
  57. type="tel"
  58. value={userPhone}
  59. onChange={changeUserPhone}
  60. onBlur={blurVerifyPhone}
  61. placeholder={t("Celular")}
  62. maxLength={11}
  63. />
  64. </div>
  65. {msgError && <div className="tips"> {msgError} </div>}
  66. <div className="btnContent">
  67. <ButtonOwn active callbackFun={checkUserPhoneRequest}>
  68. {t("Continuar")}
  69. </ButtonOwn>
  70. </div>
  71. </div>
  72. <DomainFooter />
  73. </div>
  74. );
  75. };
  76. export default ResetPhone;